# @Time : 2024-10-24 18:29
# @Author : Fioman 
# @Phone : 13149920693
"""
slice切片(start,end,step)
start如果是从0开始可以省略 变成lst[:stop:step] 形式
end如果是代表列表总长,可以省略  变成 lst[:end:step]
step默认是1,可以省略,并且省略step的时候后面的:可以省略
切片可以反向切片,反向切片的时候step 为负数,并且start 要 大于 stop
"""
myList = list(range(0, 20, 2))
print(myList)
print(myList[::])  # 返回原列表的一个浅拷贝副本
print(myList[::-1])  # 返回原列表的一个逆序列表
print(myList[::2])  # 隔一个取一个元素,获取偶数位置的元素
print(myList[1::2])  # 隔一个取一个元素,获取奇数位置的元素
print(myList[3:6])  # 指定切片位置的元素
print(myList[0:100])  # 如果切片结束位置大于最大长度,从最大长度处截取
print(myList[100:])  # 如果切片开始处大于最大长度,返回空列表
myList[len(myList):] = [9]  # 末尾增加元素
myList[:0] = [1, 2]  # 列表头部添加元素
myList[3:3] = [4]  # 列表的固定索引位置添加元素
myList[:3] = [1, 2]  # 替换列表元素,等号两边的元素个数要相等
myList[3:] = [4, 5, 6]  # 等号两边的元素个数可以不等
myList[::2] = [0] * 3  # 隔一个修改一个
print(myList)
myList[::2] = ["a", "b", "C"]  # 隔一个修改一个
print(myList)
# myList[::2] = [1, 2]  # 左侧切片不连续,等号两边元素个数必须相等
myList[:3] = []  # 删除列表中的前三个元素
print(myList)
